package com.yanqu.road.entity.wingroom.config.regioncoords;


import java.util.HashMap;
import java.util.Map;

/**
 * @author ：zfr
 * @date ：2022/2/15 17:27
 */
public class RegionCoordsBuilder {
    private static Map<Integer, Class<? extends BaseRegionCoords>> regionCoordsMap = new HashMap<>();
    static {
        regionCoordsMap.put(1, WesternRegionCoords.class);
        regionCoordsMap.put(2, SouthernRegionCoords.class);
        regionCoordsMap.put(3, EasternRegionCoords.class);
        regionCoordsMap.put(4, BackRegionCoords.class);
        regionCoordsMap.put(5, NorthernRegionCoords.class);
        regionCoordsMap.put(6, Region6Coords.class);
        regionCoordsMap.put(7, Region7Coords.class);
        regionCoordsMap.put(8, Region8Coords.class);
        regionCoordsMap.put(9, Region9Coords.class);
    }
    public static BaseRegionCoords createRegionCoords(Integer regionId) {
        Class<? extends BaseRegionCoords> clazz = regionCoordsMap.get(regionId);
        if (clazz != null) {
            try {
                BaseRegionCoords baseRegionCoords = clazz.newInstance();
                baseRegionCoords.putCoords(regionId);
                return baseRegionCoords;
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}
